package cn.javastudy.design._3_行为型模式._模板方法模式;

/**
 * 模板类
 *
 * @author sumou
 * @date 2025/01/24
 */
public abstract class AbstractClass {

    /**
     * 做菜步骤（模板方法）
     */
    public final void cookProcess() {
        pourOil();
        heatOil();
        pourVegetable();
        pourSauce();
        fry();
    }

    /**
     * 倒油
     */
    public void pourOil() {
        System.out.println("倒油");
    }

    /**
     * 热油
     */
    public void heatOil() {
        System.out.println("热油");
    }

    /**
     * 倒蔬菜
     */
    public abstract void pourVegetable();

    /**
     * 倒调味料
     */
    public abstract void pourSauce();

    /**
     * 翻炒
     */
    public void fry() {
        System.out.println("炒菜");
    }

}
